# 1、字符串查找
# find() 查找字符串中是否包含字串，若包含字串则返回字串首次出现的索引位置，否则返回-1
# 语法：str.find(sub[,start[,end]])
# str:目标字符串，下标从0开始
# sub:要查找的字串
# start：开始索引，默认为0
# end：结束索引，默认为字符串长度
string = "python,oh"
word = "o"
print(string.find(word))  # 只查找第一次出现的位置
print(string.find("aa"))  # 未找到返回-1

# 2.字符串替换
# replace() 将当前字符串中的指定子串替换成新的字串，并返回替换后的新字符串
# 语法：str.replace(old,new[,count])
# old:被替换的旧字符
# new:替换旧子串的新字串
# count:表示替换旧字符串的次数，默认全部替换
string = "how are you! what are you doing"
new_string = string.replace("how", "How")
print(new_string)
new_string2 = string.replace("are", "ARE", 1)
print(new_string2)

# 3.字符串分割
# split()方法可以按照指定分隔符对字符串进行分割，该方法会返回由分割后的子串构成的列表
# 语法：str.spilt(sep=None,maxsplit=-1)
# sep:分隔符，默认为空字符
# maxsplit:分割次数，默认为-1，表示不限制分割次数
string = "The more efforts you make,the more fortune you get"
print(string.split())  # 以空格符进行分割
print(string.split("m"))  # 以m作为分隔符
print(string.split("m", 2))  # 以e作为分隔符，并且分割两次

# 4.字符串拼接
# join()方法使用指定的字符串连接字符串并生成一个新的字符串
# 语法：str.join(iterable)
a = "*"
world = 'python'
print(a.join(world))  # p*y*t*h*o*n
# 使用 + 拼接字符串
star = 'pyt'
end = 'hon'
print(star + end)  # python

# 5.删除字符串的指定字符
# str.strip([chars])    移除字符串头部和尾部的指指定字符chars
# str.lstrip([chars])    移除字符串头部的指指定字符chars
# str.rstrip([chars])    移除字符尾部的指定字符chars
# 移除字符串头部，尾部的空格
old_str = "   life is short    "
strip_str = old_str.strip()
print(f'strip方法：{strip_str}')  # strip方法：life is short
lstrip_str = old_str.lstrip()
print(f'lstrip方法：{lstrip_str}')  # lstrip方法：life is short
rstrip_str = old_str.rstrip()
print(f'rstrip方法：{rstrip_str}')  # rstrip方法：   life is short

# 6.字符串大小写转换
# upper()   将字符串中的小写字母全部转换为大写字母
# lower()   将字符串中的大写字母全部转换为小写字母
# capitalize()   将字符串中的第一个字母转换为大写
# title()   将字符串中每个单词的首字母转换为大写形式
old_str = "hello worLD"
print(f'全部都变为大写:{old_str.upper()}')  # 全部都变为大写:HELLO WORLD
print(f'全部变为小写:{old_str.lower()}')  # 全部变为小写:hello world
print(f'第一个字母大写:{old_str.capitalize()}')  # 第一个字母大写:Hello world
print(f'每个单词首字母大写:{old_str.title()}')  # 每个单词首字母大写:Hello World

# 7.字符串对齐
# str.center(width[,fillchar])  返回长度为width的字符串,原字符串居中显示,长度不足用fillchar填充
# str.ljust(width[,fillchar])   返回长度为width的字符串,原字符串左对齐显示,长度不足用fillchar填充
# str.rjust(width[,fillchar])   返回长度为width的字符串,原字符串右对齐显示,长度不足用fillchar填充
sentence = 'hello world'
print(f"长度为20个字符,居中显示,长度不足补'@':{sentence.center(20, '@')}")
# 长度为20个字符,居中显示,长度不足补'@':@@@@hello world@@@@@
print(f"长度为20个字符,左对齐显示,长度不足补'*':{sentence.ljust(20, '*')}")
# 长度为20个字符,左对齐显示,长度不足补'*':hello world*********
print(f"长度为20个字符,右对齐显示,长度不足补空格:{sentence.rjust(20)}")
# 长度为20个字符,右对齐显示,长度不足补空格:         hello world
